package com.xbongbong.paas.pojo.dto;

import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.paas.toolbox.wrap.QueryIgnore;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 立即推送DTO
 * @author kaka
 * @time 2018-10-10
 */
@Getter
@Setter
@ToString
public class ImmediatelyPushDTO extends BaseDTO {

    private static final long serialVersionUID = -4724831872265844915L;

    /**
     * 消息发送用户
     */
    @Getter(onMethod_ = {@QueryIgnore})
    @NotEmpty(message = "{dto.msg.immediatelyPush.userIdList.NotEmpty}")
    private List<String> userIdList;

    /**
     * 消息标题
     */
    @NotEmpty(message = "{dto.msg.immediatelyPush.title.NotEmpty}")
    private String title;

    /**
     * 消息内容
     */
    @NotEmpty(message = "{dto.msg.immediatelyPush.content.NotEmpty}")
    private String content;

    /**
     * 消息关联对象id
     */
    @NotNull(message = "{dto.msg.immediatelyPush.refId.NotNull}")
    private Integer refId;

    /**
     * 关联对象对应的 {@link com.xbongbong.dingxbb.enums.RefEntityEnum#code}
     */
    @NotNull(message = "{dto.msg.immediatelyPush.refEntityCode.NotNull}")
    private Integer refEntityCode;

    /**
     * {@link com.xbongbong.dingxbb.enums.PushTypeEnum#code}
     */
    @NotNull(message = "{dto.msg.immediatelyPush.pushTypeCode.NotNull}")
    private Integer pushTypeCode;

    /**
     * {@link com.xbongbong.dingxbb.enums.PushTypeEnum#subCode}
     */
    @NotNull(message = "{dto.msg.immediatelyPush.subPushTypeCode.NotNull}")
    private Integer subPushTypeCode;
}
